package com.molichuxing.services.property.sdk;

/**
 * 微信订单状态
 * 
 * @author zoumingyu
 * @date 2018年7月19日
 *
 */
public enum WechatpayOrderPayStatusEnum {
	/**
	 * 订单预支付
	 */
	PREPAY(0, "订单预支付"),
	/**
	 * 订单支付成功
	 */
	SUCCESS(1, "订单支付成功"),
	/**
	 * 订单支付失败
	 */
	FAIL(2, "订单支付失败"),
	/**
	 * 订单关闭
	 */
	CLOSE(3, "订单关闭"),
	/**
	 * 失败的预支付单
	 */
	LOSER(4, "失败的预支付单");

	private Integer value;

	private String name;

	WechatpayOrderPayStatusEnum(Integer value, String name) {
		this.value = value;
		this.name = name;
	}

	public Integer getValue() {
		return value;
	}

	public void setValue(Integer value) {
		this.value = value;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 通过value获取枚举的name
	 *
	 * @param value
	 * @return
	 */
	public static String getName(String value) {
		for (WechatpayOrderPayStatusEnum enumerate : WechatpayOrderPayStatusEnum.values()) {
			if (enumerate.getValue().equals(value)) {
				return enumerate.name();
			}
		}
		return null;
	}

	/**
	 * 通过value获取枚举
	 *
	 * @param value
	 * @return
	 */
	public static WechatpayOrderPayStatusEnum getEnum(int value) {
		for (WechatpayOrderPayStatusEnum enumerate : WechatpayOrderPayStatusEnum.values()) {
			if (enumerate.getValue() == value) {
				return enumerate;
			}
		}
		return null;
	}

	/**
	 * 通过枚举名获取枚举类
	 *
	 * @param enumerate
	 * @return
	 */
	public static WechatpayOrderPayStatusEnum getEnum(String enumerate) {
		try {
			return Enum.valueOf(WechatpayOrderPayStatusEnum.class, enumerate);
		} catch (Exception e) {

		}
		return null;
	}
}
